<?php

class Login extends Controller {

	function index()
	{
		parent::Controller();
		$this->load->library('session');
		$this->load->library('form_validation');
		$this->load->model('usermodel');	
		$this->load->helper('cookie');
		$this->load->helper('file');
		
		$data['titlebar'] = "Panoramap - Login";
		$this->form_validation->set_rules('email', 'Email', 'trim|required|valid_email|xss_clean');
		$this->form_validation->set_rules('password', 'Password', 'trim|required|xss_clean');

		if($this->session->userdata('userId') != null) redirect('profile'); //ถ้า login อยู่จะมาหน้านี้ไม่ได้

		if($this->form_validation->run() == FALSE)
		{
			$this->load->view('signin_view', $data);
		}
		else
		{
			$loginStatus = $this->usermodel->login($this->input->post('email'), $this->input->post('password'));

			if($loginStatus == 'login_error_email')
			{
				$this->session->set_flashdata('error',  'ขอโทษด้วย อีเมลที่คุณกรอกมานั้น เราหาไม่เจอในระบบเลย! อาจเป็นเพราะว่าคุณยังไม่เคยใช้อีเมลนี้ในการลงทะเบียน.');
				redirect('login/error');
			}
			else if($loginStatus == 'login_error_password')
			{
				$this->session->set_flashdata('error',  'ขออภัย! พาสเวิร์ดที่คุณกรอกไม่ถูกต้อง! ลองกลับไปแก้ไขใหม่ หรือหากจำไม่ได้จริงๆ ให้ลอง <a href='.base_url().'reset> [เปลี่ยนรหัสผ่านใหม่]</a>');
				redirect('login/error');
			}
			else if($loginStatus == 'login_error_inactive')
			{
				$this->session->set_flashdata('error',  'บัญชีของคุณยังไม่ได้ Activate! คุณต้องทำการยืนยันบัญชีของคุณโดยการตรวจสอบอีเมล และกด [activate link] ในอีเมลซึ่งมันอาจจะอยู่ในจดหมายขยะ หรือ junkmail ของคุณก็เป็นได้ หลังจากนั้นการลงทะเบียนจึงจะเสร็จสมบูรณ์');
				redirect('login/error');
			}
			else
			{
				$sessData = array('userId' => $loginStatus, 'sessId' => $this->session->userdata('session_id'));
				$this->session->set_userdata($sessData);

				//Create user directory
				$profilePath = APPPATH . 'userdata/profile_' . $loginStatus . '/';
				$photoPath = APPPATH . 'userdata/profile_' . $loginStatus . '/photos/';
				$photoThumbPath = APPPATH . 'userdata/profile_' . $loginStatus . '/photos/thumbs/';
				$avatarPath = APPPATH . 'userdata/profile_' . $loginStatus . '/avatars/';
				$avatarThumbPath = APPPATH . 'userdata/profile_' . $loginStatus . '/avatars/thumbs/';
				$data = 
"<html>
	<head>
	<title>403 Forbidden</title>
	</head>
	<body>
	<p>Directory access is forbidden.</p>
	</body>
</html>";
								
				if(!file_exists($profilePath))
				{
					mkdir($profilePath, 0777);
					write_file($profilePath . 'index.html', $data);
					mkdir($photoPath, 0777);
					write_file($photoPath . 'index.html', $data);
					mkdir($photoThumbPath, 0777);
					write_file($photoThumbPath . 'index.html', $data);
					mkdir($avatarPath, 0777);
					write_file($avatarPath . 'index.html', $data);
					mkdir($avatarThumbPath, 0777);
					write_file($avatarThumbPath . 'index.html', $data);
				}
				
				if ($this->input->post('rememberme') == 'yes')
				{
					set_cookie('email', $this->input->post('email'), 3600 * 24 * 30); // set the cookie for 1 month
					set_cookie('password', $this->input->post('password'), 3600 * 24 * 30); 
				}

				if($this->session->userdata('redirectURL') != '')
				{
					$url = $this->session->userdata('redirectURL');
					redirect($url);
				
				}
				else
				{
					redirect('home');
				}
			}
		}

	}

	function error()
	{
		$data['titlebar'] = "Panoramap - Oops! คุณมีปัญหาในการล๊อกอิน";
		$this->load->view('signin_error_view', $data);
	}

}

/* End of file login.php*/
/* Location: application/controllers/login.php */